package map;
import java.util.HashMap;
import java.util.Map;
/**
 * 编写程序，统计字符串中每个字符出现的次数
 */
public class Test {
    public static void main(String[] args) {
        String line = "hello world!thinking in java!i love java!";
        Map<Character,Integer> map =new HashMap<>();
        for (int i = 0; i < line.length(); i++){
            char c=line.charAt(i);
            if (map.containsKey(c)){
                map.put(c,map.get(c)+1);
            }else {
                map.put(c,1);
            }
        }
        System.out.println(map);
        /*
            输出的结果，要求看到每个字符出现的次数。
            例如
            h:2
            e:2
            l:4
            xx:xx
            思路:
            1:创建一个Map用来保存统计结果
              key:出现的每种字符   value:该字符出现的次数
            2:
              2.1:遍历line中的每一个字符
                  String有一个方法:charAt(int index) 根据下标提取对应的元素
                  下标范围:0-字符串的length
              2.2:将该字符作为key存入到map中，这是会有两种情况
                  Map的contansiKey()方法
                  2.2.1:如果这个字符作为key在map中不存在，将字符作为key，value存入1(第一次出现)
                  2.2.3:如果该字符作为key在map中存在，说明该字符之前出现过，此时将value+1
              2.3:遍历完毕相当于统计完毕，将map输出看结果即可
         */
    }
}